package bulk_param.controller;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Timestamp;
import java.text.ParseException;
import java.util.Date;

import javax.swing.BorderFactory;
import javax.swing.JOptionPane;

import bulk_param.dao.OuverturePointDao;
import bulk_param.dao.VerificationMaxPointIDDao;
import bulk_param.modele.OuverturePointModel;
import bulk_param.modele.ReadCVS;
//import bulk_param.modele.SendEmail;
import bulk_param.view.Open_Contact_Num_View;


public class ButtonOuvertureController implements ActionListener{
	
	private Open_Contact_Num_View open_Contact_Num_View;
	private OuverturePointModel ouverturePointModel;
	private OuverturePointDao ouverturePointDao;
	private VerificationMaxPointIDDao verificationMaxPointIDDao;
	private ReadCVS readCVS;
	private String indicatif="33";	

	
	
	public ButtonOuvertureController(Open_Contact_Num_View open_Contact_Num_View){
		this.open_Contact_Num_View=open_Contact_Num_View;
		ouverturePointModel = new OuverturePointModel();
	}
	
	@Override
	public void actionPerformed(ActionEvent arg0) {
		
			verificationMaxPointIDDao = new VerificationMaxPointIDDao();
			if(verificationMaxPointIDDao.isMaxPointIDEgaux()){
			System.out.println(" Access Activation de Point ZABPQ ");
			open_Contact_Num_View.dateEditor.setBorder(BorderFactory.createLineBorder(Color.lightGray));
			
			//Remise des contours champs à gris	
			open_Contact_Num_View.cbOperateur.setBorder(BorderFactory.createLineBorder(Color.lightGray));
			open_Contact_Num_View.cbPointRegion.setBorder(BorderFactory.createLineBorder(Color.lightGray));
			open_Contact_Num_View.cbZNE.setBorder(BorderFactory.createLineBorder(Color.lightGray));
			open_Contact_Num_View.txtZABPQ.setBorder(BorderFactory.createLineBorder(Color.lightGray));
			open_Contact_Num_View.dateEditor.setBorder(BorderFactory.createLineBorder(Color.lightGray));
			open_Contact_Num_View.cbPays.setBorder(BorderFactory.createLineBorder(Color.lightGray));
		
				//NATIONAL
				
				//ACTION RADIO BUTTON NATIONAL + FIXE GEO
				if(open_Contact_Num_View.national.isSelected() && open_Contact_Num_View.fixe_geo.isSelected()){
					System.out.println(" National fixe géo");
					if(open_Contact_Num_View.cbOperateur.getSelectedItem() == null
							|| open_Contact_Num_View.cbPointRegion.getSelectedItem() == null
							|| open_Contact_Num_View.cbZNE.getSelectedItem() == null
							|| open_Contact_Num_View.txtZABPQ.getText().isEmpty()
							|| open_Contact_Num_View.dateChooser.getDate() == null ){
						JOptionPane.showMessageDialog(null,ouverturePointModel.getACTIVATION_REGEX_MESSAGE(),"Attention",JOptionPane.WARNING_MESSAGE);				
						
						if(open_Contact_Num_View.cbOperateur.getSelectedItem() == null){
						open_Contact_Num_View.cbOperateur.setBorder(BorderFactory.createLineBorder(Color.red));
						}
						if(open_Contact_Num_View.cbPointRegion.getSelectedItem() == null){
						open_Contact_Num_View.cbPointRegion.setBorder(BorderFactory.createLineBorder(Color.red));
						}
						if(open_Contact_Num_View.cbZNE.getSelectedItem() == null){
							open_Contact_Num_View.cbZNE.setBorder(BorderFactory.createLineBorder(Color.red));
						}
						if(open_Contact_Num_View.txtZABPQ.getText().isEmpty()){
						open_Contact_Num_View.txtZABPQ.setBorder(BorderFactory.createLineBorder(Color.red));
						}
						if(open_Contact_Num_View.dateEditor.getDate() == null){
						open_Contact_Num_View.dateEditor.setBorder(BorderFactory.createLineBorder(Color.red));
						}
					}else{
						if(!open_Contact_Num_View.txtZABPQ.getText().matches(ouverturePointModel.getNUM_FIXE_GEO_REGEX())){
							open_Contact_Num_View.txtZABPQ.setBorder(BorderFactory.createLineBorder(Color.red));
							JOptionPane.showMessageDialog(null,ouverturePointModel.getNUM_FIXE_GEO_REGEX_MSG(),"Attention",JOptionPane.WARNING_MESSAGE);							
						}else{	
							//Verification si le point existe deja
							ouverturePointDao = new OuverturePointDao();
							boolean isExist = ouverturePointDao.isPointExist("33",open_Contact_Num_View.txtZABPQ.getText().substring(1));
							
							if(isExist == true){
								String msg = "Le point : 33" + open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\néxiste déjà";
				                JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);							
							}
							else{
								//Enregistrement des valeurs
								Timestamp dateInBase =null;
								try {
									dateInBase = ouverturePointDao.dateInBase(indicatif, open_Contact_Num_View.txtZABPQ.getText().substring(1));
									System.out.println("MA DATE EN BASE : "+dateInBase);
								} catch (ParseException e1) {
									// TODO Auto-generated catch block
									e1.printStackTrace();
								}
								if (dateInBase==null){
									int entrepriseCPTL = 1;
									int entrepriseDARTY = 2;
									String operateur = ouverturePointDao.accessRegionNationalFixe09(open_Contact_Num_View.cbOperateur.getSelectedItem().toString());
									String point_region = ouverturePointDao.pointRegionNational(open_Contact_Num_View.cbPointRegion.getSelectedItem().toString());
									int zNE = ouverturePointDao.zNENational(open_Contact_Num_View.cbZNE.getSelectedItem().toString());
									String pointZABPQ = indicatif+open_Contact_Num_View.txtZABPQ.getText().substring(1);
									Date date = open_Contact_Num_View.dateChooser.getDate();
									String zLT = open_Contact_Num_View.txtZLT.getText();
									System.out.println("MES VALEURS DENTRES : ");
									System.out.println("access_region : "+operateur);
									System.out.println("point_region : "+point_region);
									System.out.println("zNe : "+zNE);
									System.out.println("ZABPQ : "+pointZABPQ);
									System.out.println("date : "+date);
									System.out.println("ZLT : "+zLT);
									String success1=ouverturePointDao.openPointZABPQ("1", point_region, zNE, pointZABPQ, date, zLT, entrepriseCPTL,"C");					
									String success2=ouverturePointDao.openPointZABPQ(operateur, point_region, zNE, pointZABPQ, date, zLT, entrepriseDARTY,"C");						
									if(success1=="ko" || success2=="ko" ){
										if(success1=="ko"){
											String msg = "Le point : 33" + open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\nen 'point_category'=1 n'a pas été créé";
							                JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);										
										}
										if(success2=="ko"){
											String msg = "Le point : 33" + open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\nen 'point_category'=2 n'a pas été créé";
							                JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);							
										}									
									}
									if(success1=="ok" && success2=="ok" ){
										String msg = "Le point : 33" + open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\na été créé avec succès";
						                JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);
									}												
								}else{
								try{
									if(ouverturePointDao.isDateBefore(indicatif,open_Contact_Num_View.txtZABPQ.getText().substring(1),open_Contact_Num_View.dateChooser.getDate())==false){
										int entrepriseCPTL = 1;
										int entrepriseDARTY = 2;
										String operateur = ouverturePointDao.accessRegionNationalFixe09(open_Contact_Num_View.cbOperateur.getSelectedItem().toString());
										String point_region = ouverturePointDao.pointRegionNational(open_Contact_Num_View.cbPointRegion.getSelectedItem().toString());
										int zNE = ouverturePointDao.zNENational(open_Contact_Num_View.cbZNE.getSelectedItem().toString());
										String pointZABPQ = indicatif+open_Contact_Num_View.txtZABPQ.getText().substring(1);
										Date date = open_Contact_Num_View.dateChooser.getDate();
										String zLT = open_Contact_Num_View.txtZLT.getText();
										System.out.println("MES VALEURS DENTRES : ");
										System.out.println("access_region : "+operateur);
										System.out.println("point_region : "+point_region);
										System.out.println("zNe : "+zNE);
										System.out.println("ZABPQ : "+pointZABPQ);
										System.out.println("date : "+date);
										System.out.println("ZLT : "+zLT);
										String success1=ouverturePointDao.openPointZABPQplus1sec("1", point_region, zNE, pointZABPQ, date, zLT, entrepriseCPTL,dateInBase,"C");					
										String success2=ouverturePointDao.openPointZABPQplus1sec(operateur, point_region, zNE, pointZABPQ, date, zLT, entrepriseDARTY,dateInBase,"C");						
										if(success1=="ko" || success2=="ko" ){
											if(success1=="ko"){
												String msg= "Le point : " +indicatif+ open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\nen 'point_category'=1 n'a pas été créé";
												JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);										
											}
											if(success2=="ko"){
												String msg= "Le point : " +indicatif+ open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\nen 'point_category'=2 n'a pas été créé";
												JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);							
											}									
										}
										if(success1=="ok" && success2=="ok" ){
											String succesMsg= "Le point : " +indicatif+ open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\na été recréé avec succès";
											JOptionPane.showMessageDialog(null, succesMsg, "Message", JOptionPane.INFORMATION_MESSAGE);	
										}						
										}else{
										String dateMsg="Vous devez choisir une date \npostérieure ou égale à la date :"+new java.sql.Date(dateInBase.getTime());
										JOptionPane.showMessageDialog(null, dateMsg, "Attention", JOptionPane.WARNING_MESSAGE);	
										}					
										} catch (ParseException e) {
									// TODO Auto-generated catch block
											e.printStackTrace();
								}
									}
							}
						}
							ouverturePointDao.closeConnection();
							}
						}
			
				
				//ACTION RADIO BUTTON NATIONAL + NUM_09
				if((open_Contact_Num_View.national.isSelected()) && (open_Contact_Num_View.num_09.isSelected())){
					System.out.println(" National num 09");
					ouverturePointDao = new OuverturePointDao();
					ouverturePointDao.getConnection();
					//Verification que le point_class est crée
					if(!ouverturePointDao.isPointClassRefExist(open_Contact_Num_View.cbOperateur.getSelectedItem().toString())){
						JOptionPane.showMessageDialog(null,ouverturePointModel.getNO_POINT_CLASS_REF_REGEX_MESSAGE()+"'"+open_Contact_Num_View.cbOperateur.getSelectedItem().toString()+"'\nVeuillez contacter l'équipe 'It_Arbor'","Attention",JOptionPane.WARNING_MESSAGE);
					}else{
					if(open_Contact_Num_View.cbOperateur.getSelectedItem() == null
							|| open_Contact_Num_View.txtZABPQ.getText().isEmpty()
							|| open_Contact_Num_View.dateChooser.getDate() == null ){
						JOptionPane.showMessageDialog(null,ouverturePointModel.getACTIVATION_REGEX_MESSAGE(),"Attention",JOptionPane.WARNING_MESSAGE);
						
						if(open_Contact_Num_View.cbOperateur.getSelectedItem() == null){
						open_Contact_Num_View.cbOperateur.setBorder(BorderFactory.createLineBorder(Color.red));
						}
						if(open_Contact_Num_View.txtZABPQ.getText().isEmpty()){
						open_Contact_Num_View.txtZABPQ.setBorder(BorderFactory.createLineBorder(Color.red));
						}
						if(open_Contact_Num_View.dateEditor.getDate() == null){
						open_Contact_Num_View.dateEditor.setBorder(BorderFactory.createLineBorder(Color.red));
						}
					}else{
						if(!open_Contact_Num_View.txtZABPQ.getText().matches(ouverturePointModel.getNUM_09_REGEX())){
							open_Contact_Num_View.txtZABPQ.setBorder(BorderFactory.createLineBorder(Color.red));
							JOptionPane.showMessageDialog(null,ouverturePointModel.getNUM_09_REGEX_MSG(),"Attention",JOptionPane.WARNING_MESSAGE);							
						}else{
							//Verification si le point existe deja							
							boolean isExist = ouverturePointDao.isPointExist("33",open_Contact_Num_View.txtZABPQ.getText().substring(1));
							if(isExist == true){
								String msg = "Le point : 33" + open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\néxiste déjà";
				                JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);							
							}
							else{									
								//Enregistrement des valeurs
								Timestamp dateInBase =null;
								try {
									dateInBase = ouverturePointDao.dateInBase(indicatif, open_Contact_Num_View.txtZABPQ.getText().substring(1));
								} catch (ParseException e1) {
									// TODO Auto-generated catch block
									e1.printStackTrace();
								}
								if (dateInBase==null){
								int entrepriseCPTL = 1;
								int entrepriseDARTY = 2;
								String operateur = ouverturePointDao.accessRegionNationalFixe09(open_Contact_Num_View.cbOperateur.getSelectedItem().toString());
								String point_region = " ";
								String pointZABPQ = indicatif+open_Contact_Num_View.txtZABPQ.getText().substring(1);
								Date date = open_Contact_Num_View.dateChooser.getDate();
								String zLT=null;
								int access_region=Integer.valueOf(operateur.trim());
								if (open_Contact_Num_View.txtZLT.getText().isEmpty()){
									zLT = " ";
								}else{
								zLT = open_Contact_Num_View.txtZLT.getText();
								}
								System.out.println("MES VALEURS DENTRES : ");
								System.out.println("access_region : "+operateur);
								System.out.println("point_region : "+point_region);
								System.out.println("zNe : "+286);
								System.out.println("ZABPQ : "+pointZABPQ);
								System.out.println("date : "+date);
								System.out.println("ZLT : "+zLT);
								String success1=ouverturePointDao.openPointZABPQ("286", point_region, 286, pointZABPQ, date, zLT, entrepriseCPTL,"C");
								String success2=ouverturePointDao.openPointZABPQ(operateur, point_region, access_region, pointZABPQ, date, zLT, entrepriseDARTY,"C");
								if(success1=="ko" || success2=="ko" ){
									if(success1=="ko"){
										String msg= "Le point : " +indicatif+ open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\nen 'point_category'=1 n'a pas été créé";
										JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);										
									}
									if(success2=="ko"){
										String msg= "Le point : " +indicatif+ open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\nen 'point_category'=2 n'a pas été créé";
										JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);							
									}									
								}
								if(success1=="ok" && success2=="ok" ){
									String msg = "Le point : 33" + open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\na été créé avec succès";
					                JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);
								}		
								}else{
										try{
											if(ouverturePointDao.isDateBefore(indicatif,open_Contact_Num_View.txtZABPQ.getText().substring(1),open_Contact_Num_View.dateChooser.getDate())==false){
												int entrepriseCPTL = 1;
												int entrepriseDARTY = 2;
												String operateur = ouverturePointDao.accessRegionNationalFixe09(open_Contact_Num_View.cbOperateur.getSelectedItem().toString());
												String point_region = " ";
												String pointZABPQ = indicatif+open_Contact_Num_View.txtZABPQ.getText().substring(1);
												Date date = open_Contact_Num_View.dateChooser.getDate();
												String zLT=null;
												int access_region=Integer.valueOf(operateur.trim());
												if (open_Contact_Num_View.txtZLT.getText().isEmpty()){
													zLT = " ";
												}else{
												zLT = open_Contact_Num_View.txtZLT.getText();
												}
												System.out.println("MES VALEURS DENTRES : ");
												System.out.println("access_region : "+operateur);
												System.out.println("point_region : "+point_region);
												System.out.println("zNe : "+286);
												System.out.println("ZABPQ : "+pointZABPQ);
												System.out.println("date : "+date);
												System.out.println("ZLT : "+zLT);
												String success1=ouverturePointDao.openPointZABPQplus1sec("286", point_region, 286, pointZABPQ, date, zLT, entrepriseCPTL,dateInBase,"C");
												String success2=ouverturePointDao.openPointZABPQplus1sec(operateur, point_region, access_region, pointZABPQ, date, zLT, entrepriseDARTY,dateInBase,"C");
												if(success1=="ko" || success2=="ko" ){
													if(success1=="ko"){
														String msg= "Le point : " +indicatif+ open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\nen 'point_category'=1 n'a pas été créé";
														JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);										
													}
													if(success2=="ko"){
														String msg= "Le point : " +indicatif+ open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\nen 'point_category'=2 n'a pas été créé";
														JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);							
													}									
												}
												if(success1=="ok" && success2=="ok" ){
													String msg = "Le point : 33" + open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\na été recréé avec succès";
									                JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);									
												}		
											}else{
												String dateMsg="Vous devez choisir une date \npostérieure ou égale à la date :"+new java.sql.Date(dateInBase.getTime());
												JOptionPane.showMessageDialog(null, dateMsg, "Attention", JOptionPane.WARNING_MESSAGE);	
												}					
												} catch (ParseException e) {
											// TODO Auto-generated catch block
													e.printStackTrace();
										}	
									}
								}
								ouverturePointDao.closeConnection();
								}
							}
						}
				}
				
				//ACTION RADIO BUTTON NATIONAL + MOBILE
				if((open_Contact_Num_View.national.isSelected()) && (open_Contact_Num_View.mobile.isSelected())){
					System.out.println(" National mobile");
					if(open_Contact_Num_View.cbOperateur.getSelectedItem() == null
							|| open_Contact_Num_View.txtZABPQ.getText().isEmpty()
							|| open_Contact_Num_View.dateChooser.getDate() == null ){
	
						JOptionPane.showMessageDialog(null,ouverturePointModel.getACTIVATION_REGEX_MESSAGE(),"Attention",JOptionPane.WARNING_MESSAGE);
						if(open_Contact_Num_View.cbOperateur.getSelectedItem() == null){
						open_Contact_Num_View.cbOperateur.setBorder(BorderFactory.createLineBorder(Color.red));
						}
						if(open_Contact_Num_View.txtZABPQ.getText().isEmpty()){
						open_Contact_Num_View.txtZABPQ.setBorder(BorderFactory.createLineBorder(Color.red));
						}
						if(open_Contact_Num_View.dateChooser.getDate() == null ){
						open_Contact_Num_View.dateEditor.setBorder(BorderFactory.createLineBorder(Color.red));
						}
					}else{
						if(!open_Contact_Num_View.txtZABPQ.getText().matches(ouverturePointModel.getNUM_MOBILE_REGEX())){
							open_Contact_Num_View.txtZABPQ.setBorder(BorderFactory.createLineBorder(Color.red));
							JOptionPane.showMessageDialog(null,ouverturePointModel.getNUM_MOBILE_REGEX_MSG(),"Attention",JOptionPane.WARNING_MESSAGE);							
						}else{
							//Verification si le point existe deja
							ouverturePointDao = new OuverturePointDao();
							ouverturePointDao.getConnection();
							boolean isExist = ouverturePointDao.isPointExist("33",open_Contact_Num_View.txtZABPQ.getText().substring(1));
							if(isExist == true){
								String msg = "Le point : 33" + open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\néxiste déjà";
				                JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);							
							}
							else{		
								//Enregistrement des valeurs
								Timestamp dateInBase =null;
								try {
									dateInBase = ouverturePointDao.dateInBase(indicatif, open_Contact_Num_View.txtZABPQ.getText().substring(1));
								} catch (ParseException e1) {
									// TODO Auto-generated catch block
									e1.printStackTrace();
								}
								if (dateInBase==null){	
								int entrepriseCPTL = 1;
								int entrepriseDARTY = 2;
								String operateur = ouverturePointDao.accessRegionNationalMobile(open_Contact_Num_View.cbOperateur.getSelectedItem().toString());
								int zNE=Integer.valueOf(operateur.trim());
								String pointZABPQ = indicatif+open_Contact_Num_View.txtZABPQ.getText().substring(1);
								Date date = open_Contact_Num_View.dateChooser.getDate();
								String zLT=null;
								if(open_Contact_Num_View.txtZLT.getText().isEmpty()){
									zLT= " ";
								}else{
									zLT = open_Contact_Num_View.txtZLT.getText();
								}
								System.out.println("MES VALEURS DENTRES : ");
								System.out.println("access_region : "+operateur);
								System.out.println("point_region : ' '");
								System.out.println("zNe : "+zNE);
								System.out.println("ZABPQ : "+pointZABPQ);
								System.out.println("date : "+date);
								System.out.println("ZLT : "+zLT);
								String success1=ouverturePointDao.openPointZABPQ(operateur, " ", zNE, pointZABPQ, date, zLT, entrepriseCPTL,"C");
								String success2=ouverturePointDao.openPointZABPQ(operateur, " ", zNE, pointZABPQ, date, zLT, entrepriseDARTY,"C");
								if(success1=="ko" || success2=="ko" ){
									if(success1=="ko"){
										String msg= "Le point : " +indicatif+ open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\nen 'point_category'=1 n'a pas été créé";
										JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);										
									}
									if(success2=="ko"){
										String msg= "Le point : " +indicatif+ open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\nen 'point_category'=2 n'a pas été créé";
										JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);							
									}									
								}
								if(success1=="ok" && success2=="ok" ){
									String msg = "Le point : 33" + open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\na été créé avec succès";
					                JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);
								}		
								}else{
										try{
											if(ouverturePointDao.isDateBefore(indicatif,open_Contact_Num_View.txtZABPQ.getText().substring(1),open_Contact_Num_View.dateChooser.getDate())==false){
												int entrepriseCPTL = 1;
												int entrepriseDARTY = 2;
												String operateur = ouverturePointDao.accessRegionNationalMobile(open_Contact_Num_View.cbOperateur.getSelectedItem().toString());
												int zNE=Integer.valueOf(operateur.trim());
												String pointZABPQ = indicatif+open_Contact_Num_View.txtZABPQ.getText().substring(1);
												Date date = open_Contact_Num_View.dateChooser.getDate();
												String zLT=null;
												if(open_Contact_Num_View.txtZLT.getText().isEmpty()){
													zLT= " ";
												}else{
													zLT = open_Contact_Num_View.txtZLT.getText();
												}
												System.out.println("MES VALEURS DENTRES : ");
												System.out.println("access_region : "+operateur);
												System.out.println("point_region : ' '");
												System.out.println("zNe : "+zNE);
												System.out.println("ZABPQ : "+pointZABPQ);
												System.out.println("date : "+date);
												System.out.println("ZLT : "+zLT);
												String success1=ouverturePointDao.openPointZABPQplus1sec(operateur, " ", zNE, pointZABPQ, date, zLT, entrepriseCPTL,dateInBase,"C");
												String success2=ouverturePointDao.openPointZABPQplus1sec(operateur, " ", zNE, pointZABPQ, date, zLT, entrepriseDARTY,dateInBase,"C");
												if(success1=="ko" || success2=="ko" ){
													if(success1=="ko"){
														String msg= "Le point : " +indicatif+ open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\nen 'point_category'=1 n'a pas été créé";
														JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);										
													}
													if(success2=="ko"){
														String msg= "Le point : " +indicatif+ open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\nen 'point_category'=2 n'a pas été créé";
														JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);							
													}									
												}
												if(success1=="ok" && success2=="ok" ){
													String succesMsg= "Le point : " +indicatif+ open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\na été recréé avec succès";
													JOptionPane.showMessageDialog(null, succesMsg, "Message", JOptionPane.INFORMATION_MESSAGE);						
												}		
											}else{
												String dateMsg="Vous devez choisir une date \npostérieure ou égale à la date :"+new java.sql.Date(dateInBase.getTime());
												JOptionPane.showMessageDialog(null, dateMsg, "Attention", JOptionPane.WARNING_MESSAGE);	
												}					
												} catch (ParseException e) {
											// TODO Auto-generated catch block
													e.printStackTrace();
										}	
									}
								}
								ouverturePointDao.closeConnection();
							}
						}
					}
			
				// INTERNATIONAL
				
				//ACTION RADIO BUTTON INTERNATIONAL + MOBILE
				if((open_Contact_Num_View.international.isSelected()) && (open_Contact_Num_View.mobile.isSelected())){
					System.out.println(" International Mobile ");
					if(open_Contact_Num_View.cbPays.getSelectedItem() == null
							|| open_Contact_Num_View.txtZABPQ.getText().isEmpty()
							|| open_Contact_Num_View.dateChooser.getDate() == null ){
						JOptionPane.showMessageDialog(null,ouverturePointModel.getACTIVATION_REGEX_MESSAGE(),"Attention",JOptionPane.WARNING_MESSAGE);	

						if(open_Contact_Num_View.cbPays.getSelectedItem() == null){
						open_Contact_Num_View.cbPays.setBorder(BorderFactory.createLineBorder(Color.red));
						}
						if(open_Contact_Num_View.txtZABPQ.getText().isEmpty()){
						open_Contact_Num_View.txtZABPQ.setBorder(BorderFactory.createLineBorder(Color.red));
						}
						if(open_Contact_Num_View.dateEditor.getDate() == null){
						open_Contact_Num_View.dateEditor.setBorder(BorderFactory.createLineBorder(Color.red));
						}
					}else{
						if(!open_Contact_Num_View.txtZABPQ.getText().matches(ouverturePointModel.getZABPQ_REGEX())){
							open_Contact_Num_View.txtZABPQ.setBorder(BorderFactory.createLineBorder(Color.red));
							JOptionPane.showMessageDialog(null,ouverturePointModel.getZABPQ_REGEX_MESSAGE(),"Attention",JOptionPane.WARNING_MESSAGE);							
						}else{
							//Verification si le point existe deja
							ouverturePointDao = new OuverturePointDao();
							ouverturePointDao.getConnection();
							readCVS= new ReadCVS();
							String indicatif="";
							if (open_Contact_Num_View.cbPays.getSelectedItem().toString().equalsIgnoreCase("Réunion - Mobile")
								||open_Contact_Num_View.cbPays.getSelectedItem().toString().equalsIgnoreCase("Mayotte - Mobile")
								||open_Contact_Num_View.cbPays.getSelectedItem().toString().equalsIgnoreCase("Guadeloupe")
								||open_Contact_Num_View.cbPays.getSelectedItem().toString().equalsIgnoreCase("Guadeloupe - Mobile")
								||open_Contact_Num_View.cbPays.getSelectedItem().toString().equalsIgnoreCase("Martinique")){
								indicatif="33";
							}else{
							 indicatif=readCVS.indicatifDictionary(open_Contact_Num_View.cbPays.getSelectedItem().toString());
							}boolean isExist = ouverturePointDao.isPointExist(indicatif,open_Contact_Num_View.txtZABPQ.getText().substring(1));							
							if(isExist == true){
								String msg = "Le point : " +indicatif+ open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\néxiste déjà";
				                JOptionPane.showMessageDialog(null, msg, "Attention", JOptionPane.WARNING_MESSAGE);							
							}
							else{	
								//Enregistrement des valeurs
								Timestamp dateInBase =null;
								try {
									dateInBase = ouverturePointDao.dateInBase(indicatif, open_Contact_Num_View.txtZABPQ.getText().substring(1));
								} catch (ParseException e1) {
									// TODO Auto-generated catch block
									e1.printStackTrace();
								}
								if (dateInBase==null){	
							int entrepriseCPTL = 1;
							int entrepriseDARTY = 2;
//							String path = new File("prefixes_internationaux.txt").getAbsolutePath();
							String mssg="Le préfixe et/ou le pays "+open_Contact_Num_View.cbPays.getSelectedItem().toString()+" \nn'est pas parametré dans le fichier : \n'prefixes_internationaux.txt'";
							String indicatifPays = indicatif;
							try{
							int isIndicatifExist = Integer.valueOf(indicatifPays.trim());
							String acces_region= ouverturePointDao.accessRegionMobileInternational(open_Contact_Num_View.cbPays.getSelectedItem().toString());											
							int zNE =Integer.valueOf(acces_region.trim());
							String pointZABPQ = indicatifPays+open_Contact_Num_View.txtZABPQ.getText().substring(1);
							Date date = open_Contact_Num_View.dateEditor.getDate();
							String zLT = open_Contact_Num_View.txtZLT.getText();
							System.out.println("MES VALEURS DENTRES : ");
							System.out.println("access_region : "+acces_region);
							System.out.println("point_region : ' '");
							System.out.println("zNe : "+zNE);
							System.out.println("ZABPQ : "+pointZABPQ);
							System.out.println("date : "+date);
							System.out.println("ZLT : "+zLT);
							String success1=ouverturePointDao.openPointZABPQ(acces_region, " ", zNE, pointZABPQ, date, zLT,entrepriseCPTL,"C");
							String success2=ouverturePointDao.openPointZABPQ(acces_region, " ", zNE, pointZABPQ, date, zLT,entrepriseDARTY,"C");
							if(success1=="ko" || success2=="ko" ){
								if(success1=="ko"){
									String msg= "Le point : " +indicatif+ open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\nen 'point_category'=1 n'a pas été créé";
									JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);										
								}
								if(success2=="ko"){
									String msg= "Le point : " +indicatif+ open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\nen 'point_category'=2 n'a pas été créé";
									JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);							
								}									
							}
							if(success1=="ok" && success2=="ok" ){
								String msg = "Le point : "+indicatif+open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\na été créé avec succès";
				                JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);							
							}	
							}catch (NumberFormatException e) {
								// TODO: handle exception
								JOptionPane.showMessageDialog(null, mssg, "Attention", JOptionPane.WARNING_MESSAGE);							
								}
							}else{
								try{
									if(ouverturePointDao.isDateBefore(indicatif,open_Contact_Num_View.txtZABPQ.getText().substring(1),open_Contact_Num_View.dateChooser.getDate())==false){
										int entrepriseCPTL = 1;
										int entrepriseDARTY = 2;
//										String path = new File("prefixes_internationaux.txt").getAbsolutePath();
										String mssg="Le préfixe et/ou le pays "+open_Contact_Num_View.cbPays.getSelectedItem().toString()+" \nn'est pas parametré dans le fichier : \n'prefixes_internationaux.txt'";
										String indicatifPays = indicatif;						
										try{
										int isIndicatifExist = Integer.valueOf(indicatifPays.trim());
										String acces_region= ouverturePointDao.accessRegionMobileInternational(open_Contact_Num_View.cbPays.getSelectedItem().toString());											
										int zNE =Integer.valueOf(acces_region.trim());
										String pointZABPQ = indicatifPays+open_Contact_Num_View.txtZABPQ.getText().substring(1);
										Date date = open_Contact_Num_View.dateEditor.getDate();
										String zLT = open_Contact_Num_View.txtZLT.getText();
										System.out.println("MES VALEURS DENTRES : ");
										System.out.println("access_region : "+acces_region);
										System.out.println("point_region : ' '");
										System.out.println("zNe : "+zNE);
										System.out.println("ZABPQ : "+pointZABPQ);
										System.out.println("date : "+date);
										System.out.println("ZLT : "+zLT);
										String success1=ouverturePointDao.openPointZABPQplus1sec(acces_region, " ", zNE, pointZABPQ, date, zLT,entrepriseCPTL,dateInBase,"C");
										String success2=ouverturePointDao.openPointZABPQplus1sec(acces_region, " ", zNE, pointZABPQ, date, zLT,entrepriseDARTY,dateInBase,"C");
										if(success1=="ko" || success2=="ko" ){
											if(success1=="ko"){
												String msg= "Le point : " +indicatif+ open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\nen 'point_category'=1 n'a pas été créé";
												JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);										
											}
											if(success2=="ko"){
												String msg= "Le point : " +indicatif+ open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\nen 'point_category'=2 n'a pas été créé";
												JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);							
											}									
										}
										if(success1=="ok" && success2=="ok" ){
											String msg = "Le point : "+indicatif+open_Contact_Num_View.txtZABPQ.getText().substring(1) + "\na été recréé avec succès";
							                JOptionPane.showMessageDialog(null, msg, "Message", JOptionPane.INFORMATION_MESSAGE);							
										}	
										}catch (NumberFormatException e) {
											// TODO: handle exception
											JOptionPane.showMessageDialog(null, mssg, "Attention", JOptionPane.WARNING_MESSAGE);							
											}									
									}else{
										String dateMsg="Vous devez choisir une date \npostérieure ou égale à la date :"+new java.sql.Date(dateInBase.getTime());
										JOptionPane.showMessageDialog(null, dateMsg, "Attention", JOptionPane.WARNING_MESSAGE);	
										}					
										} catch (ParseException e) {
									// TODO Auto-generated catch block
											e.printStackTrace();
								}		
								}
							}
							ouverturePointDao.closeConnection();
						}
					}
				}		
		}else{
			String message="L'opération a été annulée.\nUn problème lié au max point_id en est la cause";
			JOptionPane.showMessageDialog(null, message, "Attention", JOptionPane.WARNING_MESSAGE);				
		}
	}					
}


